'use strict';

// 获取所有角色的函数，根据keyword是否存在，来过滤指定内容
function getDatapark(searchTermpark) {
    // 拿到代表table的那个节点
    let tbPark = $('#tbPark');
    //  找到所有的id以role开头的节点
    let tr = $('[id^="park"]');
    // 全部移除
    tr.remove();
    let url;
    if (searchTermpark) {
        url = 'http://localhost:5009/api/Car/FindAllByCondition?searchTerm=' + searchTermpark;
    } else {
        url = `http://localhost:5009/api/Car/FindAll`
    }
    // console.log(url);
    // 向后端api接口发起请求，拿到数据,插入指定的html片段到前面获得的table节点
    $.ajax({
        type: 'get',
        url: url,
        success: function (res) {
            console.log(res.data);
            let i = 1;
            res.data.forEach(item => {
                let html = `<tr id="park${item.id}">
                <td>${i}</td>
                <td>${item.code}</td>
                <td>${item.photo}</td>
                <td>${item.type}</td>
                <td>${item.status}</td>
                <td>${item.rentStartTime}</td>
                <td>${item.rentEndTime}</td>
                <td>
                    <input type="button" value="修改" onclick="parkbtnSave(${item.id})">
                    <input type="button" value="删除" onclick="btnDelpark(${item.id})">
                </td>
              </tr>`
              tbPark.append(html);
                i++;
            })

        }
    })
}

// 当页面的基本结构（dom树）加载完成的时候，触发此事件，此事件触发发调用函数，函数中，执行获取数据的函数
$(function () {
    getDatapark();
})

// 过滤指定内容
function parkinfo() {
    // console.log('1111');
    let searchTermpark = $('[name=searchTermpark]').val();
    getDatapark(searchTermpark);
}

//过滤车位状态
function parkinfos() {
    // 获取下拉列表的选中值
    let selectedValue = document.getElementById("car-Type").value;

    // 获取包含车位行的表格主体
    let tbPark = document.getElementById("tbPark");

    // 获取表格主体中的所有行
    let rows = tbPark.getElementsByTagName("tr");

    // 遍历所有行（从第二行开始，因为第一行是表头）
    for (let i = 1; i < rows.length; i++) {
        let row = rows[i];
        let statusCell = row.cells[4]; // 获取包含车位状态的单元格

        // 根据选中的选项显示/隐藏行
        if (selectedValue === "0") {
            // "车位状态" 选项，显示所有行
            row.style.display = "table-row";
        } else if (selectedValue === "1" && statusCell.textContent === "已出租") {
            row.style.display = "table-row";
        } else if (selectedValue === "2" && statusCell.textContent === "未出租") {
            row.style.display = "table-row";
        } else if (selectedValue === "3" && statusCell.textContent === "已损坏") {
            row.style.display = "table-row";
        } else {
            row.style.display = "none";
        }
    }
}

// 前端发起请求，删除指定id的记录，如果成功，则在前端移除指定行
function btnDelpark(id) {
    if (confirm('确认删除吗？')) {
        $.ajax({
            type: 'delete',
            url: 'http://localhost:5009/api/Car/Delect/' + id,
            success: function (res) {
                // console.log(res);
                $('#role' + id).remove();
            }
            
        })
    }
}


//添加
function btnSavepark() {
    let CarID = $('[name=CarID]').val(); // 获取车位编号的值
    let CarType = $('[name=CarType]').val(); // 获取车位照片的值
    let stall = $('[name=stall]').val(); // 获取车位类型的值
    let stallType = $('[name=stallType]').val(); // 获取车位状态的值
    // 构建符合SQL Server datetime格式的字符串
    let RentalTime = currentDate.toISOString().slice(0, 19).replace('T', ' ');
    let RentalDuration = null;

    // 发起AJAX请求，将数据发送到后端API
    $.ajax({
        type: 'post',
        url: 'http://localhost:5009/api/Car/Add',
        contentType: 'application/json',
        dataType: 'json',
        data: JSON.stringify({
            code: CarID,
            photo: CarType,
            type: stall,
            status: stallType,
            rentStartTime: RentalTime,
            rentEndTime: RentalDuration
        }),
        success: function (res) {
            console.log(res);
            alert("添加成功");
            // 这里可以根据需要进行页面跳转或其他操作
        },
        error: function (err) {
            console.error(err);
            alert("添加失败，请检查输入是否正确");
        }
    });
}


//修改
function parkbtnSave(id) {
    location.href='./views/park.html?id='+id;
}

function getParams(name) {
    let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    let r = location.search.substring(1).match(reg);
    console.log(reg,r);
    if (r != null) {
        return decodeURIComponent(r[2]);
    }
    return null;
}

$(function () {
    let id = getParams('id');
    console.log(id);
    if (id) {
        $.ajax({
            type:'get',
            url:'http://localhost:5009/api/UserInfo/Find?id='+id,
            success:function(res){
                console.log(res[0]);
                $('[name=username]').val(res[0].name);
                $('[name=sex]').val(res[0].sex);
                $('[name=CardID]').val(res[0].idNumber);
                $('[name=num]').val(res[0].phone);
                $('[name=pwd]').val(res[0].password);
                $('[name=CarID]').val(res[0].license);
                $('[name=homeAddress]').val(res[0].home);
                $('[name=roomID]').val(res[0].room);
            }
        })
    }
})

function btnSave() {
    let id = getParams('id');
    let name = $('[name = username]').val();
    let sex = $('[name = sex]').val();
    let idNumber = $('[name = CardID]').val();
    let phone = $('[name=num]').val();
    let password = $('[name=pwd]').val();
    let pwdc = $('[name=pwdc]').val();
    let license = $('[name=CarID]').val();
    let home = $('[name=homeAddress]').val();
    let room = $('[name=roomID]').val();
    console.log(id);
    if (id) {
        console.log("修改");
        $.ajax({
            type:'put',
            url:'http://localhost:5009/api/UserInfo/Update/'+id,
            contentType: 'application/json',
            dataType: 'json',
            data: JSON.stringify({ name, sex, idNumber, phone, password, home, license, room }),
            success:function(res){
                console.log(res);
                alert("修改成功");
                location.href = './index.html'
            }
        })
    } else {
        console.log("注册");
        if (password === pwdc) {
            $.ajax({
                type: 'post',
                url: 'http://localhost:5009/api/UserInfo/Add',
                contentType: 'application/json',
                dataType: 'json',
                data: JSON.stringify({ name, sex, idNumber, phone, password, home, license, room }),
                success: function (res) {
                    console.log(res);
                    alert("注册成功")
                    location.href = './login.html'
                }
            })
           } else {
            console.log("两次密码不一样，添加失败");
            alert("两次密码不一样，添加失败")
           }
    }
}